Electronic torque angle control for commutation of field flux in stationary armature motors has been a known motor control technique for many years. The development of this technique was spurred by the desire to utilize an AC synchronous machine in a "closed loop" position-control environment, traditionally reserved for "brush" type DC servo motors. Permanent magnets replaced the field windings in the rotor of the AC synchronous motor which, traditionally, were energized through slip rings and brushes. The utilization of permanent magnets in the rotor provided for brush free operation.
The brushless machines were referred to as "brushless DC" motors due to the expense involved in electronically emulating pure sinusoidal current required by the traditional "line" driven AC synchronous motors.
The stator poles in these motors were purposely skewed to produce a "flattened" counter electro-motive force (CEMF) in each of the phase windings. In turn, the phase currents (controlled by the amplifier) were in themselves "flat" In this control method formally known as "six step" control, the currents in each phase (assuming three phase) are alternating "square" waves which are positive for 120 degrees, off for 60 degrees, negative for 120 degrees, and off again for 60 degrees. The stator current to flux transpositions are noticeably finite in that only six flux angles per electrical cycle are possible with this type of control. The direction of stator flux generated by a given stator pole is always perpendicular to the given pole (90 degrees displaced). The magnitude of this flux is generally proportional to the magnitude of current flowing in the specific pole windings.
The standard method for "six step" commutation feedback is to place three Hall effect switches in the stator windings of the motor. Three logic signals are produced from these switches.
Six step commutation control is a relatively inexpensive and a simple technique to implement, as far as commutation drive logic drive amplifier and rotor sensor feedback are concerned. However, performance suffers in that the torque angle "jumps" ahead of the rotor magnet flux in 60 degree increments due to the relatively crude resolution of the rotor feedback sensors (six steps per full electrical cycle). Low speed performance suffers because motor poles can never be perfectly positioned (skewed) in manufacturing to provide "flattened" CEMF waveforms over the "flat" six step induced phase currents.
As a result, torque fluctuations (at a fundamental rate of six times per electrical cycle) are induced on the rotor shaft, complicating smooth low speed control when the motor is used in a closed loop position or velocity application.
The drive amplifier portion of the six step controller is usually implemented with SCRs (thyristors). These semiconductor switches are used to "route" a constant current source (or voltage source, if voltage instead of current is being regulated) through the six steps of the electrical cycle. A DC current regulator (for six step current control) or DC voltage regulator (for six step voltage control) is inserted in "front" of the SCR bridge to control the amplitude of the phase current or phase voltage, respectively.
With the emergence of high power switching bipolar transistors came the ability to provide pulse width modulation (PWM) current control to the stator phase windings of the brushless motor.
Since, the bipolar transistor has the ability to "switch" at a much higher rate than the SCR, phase current (or voltage) amplitude along with the "six step" phase routing can be incorporated into one set of devices, if desired.
However, with PWM capability, the waveforms no longer need to resemble square waves as in the six step control discussed above. With the proper drive amplifier control electronics, PWM control can be used to generate sinusoidal waveforms for each phase of the motor. See, for example, Jones U.S. Pat. No. 4,540,925 and Takahashi U.S. Pat. No. 4,051,419.
Using sinusoidal control, the motor stator can now be wound with the simpler, more traditional method for true AC control. The low speed torque fluctuation problems apparent with six step control are significantly reduced.
However, the rotor feedback sensor(s) needed to generate the sinusoidal (as opposed to the six step) current (or voltage) waveforms need to be more complex. This is because the sinusoidal waveform "varies" amplitude with rotor position, while the six step wave form turns "off or on" with plus or minus polarity to a constant amplitude, depending on the position of the rotor within a .+-.30 degree envelope. A small, incremental angular change in rotor position must be able to be detected in order to emulate the sinusoidal stator phase currents.
The complicated rotor sensor needed to generate the sinusoidal phase control waveforms needs to have much more position resolution than the simple six step rotor sensors described for the DC brushless controller. The drive amplifier control electronics must be more complicated in order to generate the sinusoidal current command signals. These two factors tend to illustrate the negative aspects of the AC brushless control scheme.
High performance AC brushless drive manufacturers have generally established the "resolver" position transducer as the "standard" for deriving absolute rotor position necessary for sinusoidal control. The resolver is a magnetic sensor resembling a small two phase AC motor whose rotor is excited with a high frequency AC square wave induced on its rotor winding (usually through a set of small slip rings). Two stator windings (electrically displaced 90 degrees) "couple" the rotor field. As the shaft of the resolver is turned, the two stator phases alternate sinusoidally and in quadrature (i.e., one sine, the other cosine).
The two returning stator phases (along with the outgoing excitation signal) are connected to a sophisticated demodulator chip (usually termed "Resolver to Digital" converter). This converter produces "digital" output information relative to the "absolute" rotor position of the resolver (and hence the rotor position of the AC motor relative to its stator). The digital output of the converter chip (usually 10 to 16 bits in resolution), in turn, is fed to the address inputs of a ROM (read-only-memory) chip. The ROM (or ROMs) chip is programmed with multiple sets of "sinusoidal" data, relative to the ROM address inputs. The sinusoidal output of the ROM is in turn converted into analog signals through a Digital to Analog converter (D/A). It is these signals that are used as current command signal to the power amplifier. The motor stator phase currents controlled by these signals are referenced to the motor through the ROM data tables to produce a stator field flux that is angularly displaced with respect to the rotor field by some predetermined angle.
This angular phase displacement is usually fixed. (More sophisticated controllers allow the angle to vary under controlled conditions). Fixed angular phase displacement (angular phase displacement will be denoted as "Torque Angle" from this point) is the usual form of control for brushless machines used in positioning applications. With fixed torque angle control, the only control variable for motor operation is the varying of amplitude of the sinusoidal current flowing in each of the motor stator windings. Thus an AC drive amplifier, matched with AC brushless motor whose rotor feedback mechanism provides "fixed" torque angle rotor to stator displacement is essentially an electronically controlled version of the traditional DC drive and DC brush type motor with "fixed" mechanical brush commutator.
The general purpose "hybrid" stepping motor is in essence an AC brushless motor whose stator is wound for two phase instead of three phase excitation, and whose mechanical pole count is typically much higher than that of the general purpose three phase AC brushless motor.
FIG. 1 illustrates the basic stator winding phase relationships of a stepping motor (rotor not shown). The stator 10 consists of two winding set labeled A-A' and B-B' "electrically" displaced by 90 degrees. The word "electrically" is emphasized to illustrate the fact that this general type of stepping motor actually consists of multiple sets of A-A' and B-B' (usually 50 sets) distributed evenly around the stator shell. For simplicity, this and future illustrations will depict the stepping motor as having one set of A-A' and B-B' poles. Thus, for these illustrations one full electrical cycle will represent one full rotor (mechanical) cycle. The flux produced by a given winding (say B-B') is always perpendicular to the given winding in the direction determined by the direction of current flow in the winding, as shown in FIG. 1. This characteristic of course, is the same for that described for the DC and AC brushless motors.
If a permanent magnet rotor 12 is inserted in the center of the two sets of stator windings of FIG. 2, and the two windings are energized with stator flux of the A-A' phase equal to 1 P.U. current and stator flux of the B-B' phase equal to zero P.U. current the rotor will line up with the resultant stator field. The motor will exhibit a "Zero Torque" angle between the permanent magnet rotor flux and electrically excited field flux of the stator. If the stator field flux is "rotated" by a given angle away from the rotor as shown in FIG. 3, a mechanical force will be generated in the direction towards the stator flux position. The amount of force imposed on the rotor by the stator flux field is proportional to the component of the stator flux perpendicular to the rotor. In other words, a stator flux torque angle, introduced 90 degrees perpendicular to the rotor, produces maximum torque.
Arbitrary torque angles of 45, 90 and 150 degrees are shown in FIG. 3. The torque produced by these angles is proportional to the perpendicular component (Cosine component) of these angles.
The stator flux can be made to revolve around the two pole sets A-A' and B-B' a full 360 degrees by sinusoidally varying the current in Phase A and B at a constant 90 degree separation with respect to each other (i.e., phase A is sine, phase B is cosine). This is not unlike the revolving stator flux of the AC brushless machine. In this example, three winding sets (A,B, and C) are used instead of two. A micro stepping translator controller for supplying current to a stepping motor is described in my U.S. Pat. No. 4,652,806.
When a stepping motor controlled by a micro stepping translator (as shown in my U.S. Pat. No. 4,652,806) is run in the "open loop" mode, the permanent magnet rotor "follows" the revolving stator flux generated by the phase A and B sinusoidal currents. The torque angle (the angle between the rotor flux and the stator flux) is self determining. In other words, the angle generated is a function of the load on the rotor shaft. As the load increases, the angle becomes greater.
In the open loop mode, the torque angle can never exceed 90 degrees if the maximum load on the rotor is constant starting from zero velocity. This fact should be noted in that this limitation is the main cause of motor stall when the motor is run in the open loop mode. Closed loop control of stepper motors is disclosed in Lander et al. U.S. Pat. No. 3,863,118.
As already noted, there is a method for electronically determining the rotor position of a three phase AC brushless motor using a resolver. A similar method can be applied to the stepping motor in determining the relationship between stator phase current and rotor position. The only difference is that two phase sinusoidal currents are emulated instead of three phase currents.
From previous discussions, it is noted that the torque produced on the rotor shaft is a function of the perpendicular component of the flux produced by the stator (assuming the rotor permanent magnet flux is constant). Thus, for a given level of stator flux (produced by a given level of stator current in Phases A-A' and B-B'), generated torque is equal to the COS (90-.alpha.) where .alpha. is the torque angle.
The stepping motor was originally developed for "open loop" motion control. In turn, traditional stepping motor drives were capable of only "full" and "half" step current control (i.e., phase windings could only be turned on and off at a predetermined current, a concept not too different from the "six step" control discussed earlier). Thus, the number of poles were required to be high (typically 50) so that relatively small incremental angular steps could be achieved. Micro stepping drive technology soon emerged providing the capability of incrementally varying the phase currents in a sinusoidal fashion. However, the basic characteristic of the stepping motor has not changed. Thus, if a 90 degree torque angle was chosen and a torque versus speed measurement was made on the motor for a fixed stator current, the resultant plot would look no different than a plot of the motor taken under traditional open loop control run with the same stator current.
Remembering the basic motor premise that back EMF voltage is a function of motor shaft RPM, it can be seen that the larger the torque angle, the lower the required stator winding terminal voltage (Vb-b') to generate a given back EMF voltage. Thus, increasing the torque angle above 90 degrees allows for higher speed operation. It should be remembered, however, that a price is paid in that torque produced for a given value of stator current drops with increasing torque angles above 90 degrees. Also, it should be noted that the motor inductance drops as the torque angle is increased. As a result, ripple and eddy current losses become a factor in operating efficiency.
To initialize the torque angle relative to the position of the rotor, the position of the rotor with respect to the stator windings must first be determined. The previous discussion involving the use of a resolver for determining the "absolute" position of the rotor on an AC brushless motor could be similarly applied to the stepping motor. However, the component cost of a resolver based feedback control relative to the basic cost of a hybrid stepping motor is a bit unbalanced. The cost of a 300 oz-in stepping motor is typically $100.00. The component cost of a resolver and associated "resolver to digital" converter chip is typically $160.00. Clearly, the cost of a feedback mechanism that exceeds the drive mechanism by more than 50 percent is undesirable, especially when the labor cost required to mount and align the resolver has not even been included.
The cost of providing feedback information to control the position of the torque angle can be greatly reduced by using a standard incremental encoder (optical-type encoders are the most common). The unit cost of an incremental optical encoder has been found to be as low as $25.00. Costs in converting the signals from an incremental encoder to position data are also low in cost, typically $10.00 to equal the digital output format produced by the "resolver to digital" converter.
The incremental encoder utilizes two signals displaced in quadrature (i.e., one sine, the other cosine) to translate position change. Position is determined by noting the sequence in which the "sine" signal changes level with respect to the "cosine" (or vice versa), while at the same time accumulating the number of level changes with a counter. Another positive aspect of the incremental encoder besides its low price, is its relative accuracy. A typical optical encoder has a rotational position accuracy of .+-.3 arc-minutes. The typical rotational position accuracy of a resolver is .+-.6 arc-minutes. However, the aspect of relative ruggedness must not be ignored. The resolver can typically withstand higher mechanical vibrations and higher operation temperatures than an optical encoder.
Since the incremental encoder can only transmit position in unit "steps" and thus, can only reflect "changes" in position, there is no way of determining its initial position relative to motor stator windings when the encoder is powered up.
Remembering that torque angle control requires an "absolute" knowledge of the rotor position relative to induced stator flux, an alternate method is needed for initializing the torque angle using an incremental encoder.